home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 10
/
FM Towns Free Software Collection 10.iso
/
ms_dos
/
tool
/
m1024
/
m1024.doc
< prev
next >
Wrap
Text File
|
1995-02-12
|
5KB
|
106 lines
M-1024IIP/X用プリントプログラム
M1024.EXE Ver.1.10 by Jouji
【概要】
TOWNSから、ブラザー工業のプリンタM-1024IIP/Xでテキストの印字
を行うためのプログラムです。半角文字を半角で印字しますから、コンピュータ画面
でのイメージと一致した印字結果が得られます。
フリーソフトのドキュメントをMS-DOSのコマンドラインから手軽に印字する
というような用途に向いていると思います。ワープロソフトなどを使って印字するよ
りも手軽に素早く印字することができます。
【経緯】
TOWNSのユーザーで、ブラザー工業のプリンタM-1024IIP/Xを持って
いる人が果たしてどの位いるのか疑問ですが、これは結構古いドットインパクトのプ
リンタです(制御コードはNECのMN系プリンタと同じらしい)。最近TOWNS
用のプリンタケーブルを自作し、TOWNSで印字できるようになったのですが、こ
のプリンタは当然T-OSではサポートされていません。しかたなく、印字用のプロ
グラムを作りました。MN-9300等のMN系のプリンタでも動作するかも知れま
せん。
それにしても、富士通は何故プリンタケーブルをころころと変えるのでしょうか。
FM77AV40のフルセントロのケーブルが一番いいと思うのですが、わざわざ2
4ピンのコネクタなんかにして。フルセントロのケーブルは持っているというのに、
何故こんなことしなきゃいけないんだ、と腹立たしく思いながら半田付けを延々と続
けました。
【動作】
コマンドラインパラメータにはファイル名または出力コードを指定します。両方と
も複数指定可能で、パラメータの順番に出力されます。たとえば、
m1024 /$1aG$1bK$1aN$1bL003 i:\print.tmp
のように指定します。先頭に「/」が付いたパラメータは出力コードとして処理され
その文字列がそのままプリンタに出力されます。ただし、「$」の後の2文字は16
進数として評価されます。たとえば「$1b」は0x1b(10進数の27)として評価さ
れプリンタに出力されます。「$」自身を出力する場合は「$24」と、空白を出力する
場合は「$20」として下さい。MS-DOSに解釈されてしまう文字を出力する場合
(「<>|」等)も16進数で指定して下さい。
先頭に「/」が付かないパラメータはファイル名としてそのファイル内容をプリン
タに出力します。このときにいろいろとコード変換を行います。ファイルからの入力
は行単位で行います。改行コードは出力しません。変換の仕様は次の通り。なお、フ
ァイルの最初の一行を無視するという仕様は廃止しました。
◆行の先頭1バイトが0x03(^C)の場合は、コメント行として読み飛ばします。
◆行の先頭1バイトが0x05(^E)の場合は、その後の文字列を2文字ずつ16進数と
して1バイトに変換してプリンタに出力します。必ず、正しい16進数の偶数個の
文字列を置いて下さい。
◆行の先頭1バイトが0x06(^F)の場合は、その後の文字列をファイル名としてファ
イルを開き、そのファイル内容(ビット・イメージ等)を何のコード変換もせずに
そのままプリンタに出力します。
◆行の先頭1バイトが0x1F以下で上記以外の場合(コントロール・コード)は、その
行の内容(プリンタ制御文字列)をそのままプリンタに出力します。
◆行の先頭1バイトが上記以外の場合、すなわち、0x20以上の場合、シフトJISの
全角文字はJISに変換して出力し、半角文字は半角印字(0+コード)にコード変
換して出力します。
◆行の先頭1バイトが0x0a(\n,改行)の場合、すなわち、空行の場合、0x0d,0x0aを
出力します。
【使用例】
私がいつも使用しているドキュメント印字用バッチコマンドを紹介します。これは、
半角80桁以内で桁折りされているテキストファイルをB5用紙に1ページあたり4
5、50行で印字するものです(P45M.BAT, P50M.BAT)。ヘッダーとして各ページに、
ファイル印字日時、ファイル名、ページ番号が入ります。このヘッダーの位置は、逆
方向に改行させて用紙のかなり上の方に印字するようにしています。たとえば、1ペ
ージあたり45行でこのファイル自身を印字するには、
P45M M1024.DOC
とするだけです。バッチ中でJGAWKを使用しており、「E:\AWK_PROG\PAGEM.AWK」
が必要です。それと日時の取得に「KIROKU.COM」が必要です。また、「I」ドライブ
が書き込み可能でなければなりません。ドライブ構成、ディレクトリ構成が異なる場
合はバッチファイルを適宜書き換えて下さい。
「P45M.BAT」における、JGAWKのコマンドラインでの「PAGEM.AWK」の変数指
定の意味は次の通り。
hp=34
ヘッダーの左端からの位置
l=45
改ページする行数
lp=35
改行ピッチを35/180インチとする
t=%VAR%
タブ展開の半角ブランク数(バッチで指定しないと8になる)
「P45M.BAT」における、プリンタに対するコントロールコードの意味は次の通り。
$1aG
ドット数指定の単位を1/180インチとする
$1bK
漢字指定
$1aN
文字ピッチ27ドット
$1bL003
レフトマージンを3文字とする
【プログラム】
基本的にシフトJIS→JIS等のコード変換のたぐいは、全てこのプログラム中
で行い、このプログラムの出力=プリンタへの出力としたかったため、MS-DOS
のプリンタ出力に関するシステムコールは使用していません。BIOSのプリンタ出
力「AX=100H,INT 94H」を使用しています。このため、TOWNS専用となっています。
【開発・著作権】
このプログラムはLSI C-86 Ver.3.30 試食版によって開発しました。
Cのソースコードについては完全にフリーとします。改良、改造も可です。実行プ
ログラムについてはLSI C-86試食版の配布条件に従ってください。(手数料
以上の金銭の授受は禁じられています。)